package org.example.day05;

import java.util.Scanner;

/**
 * @author zlxad
 * @version 1.0
 * @description: TODO+
 * <pre class="prettyprint lang-cpp">M（1&lt;=M &lt;=20）辆车需要在一条不能超车的单行道到达终点，起点到终点的距离为N（1&lt;=N&lt;=400）。速度快的车追上前车后，只能以前车的速度继续行驶，求最后一车辆到达目的地花费的时间。
 * 注：每辆车固定间隔1小时出发，比如第一辆车0时出发，第二辆车1时出发，依次类推</pre> <p>  <span></span>  </p>
 *
 * M（1<=M <=20）辆车需要在一条不能超车的单行道到达终点，起点到终点的距离为N（1<=N<=400）。
 * 速度快的车追上前车后，只能以前车的速度继续行驶，求最后一车辆到达目的地花费的时间。
 *   注：每辆车固定间隔1小时出发，比如第一辆车0时出发，第二辆车1时出发，依次类推
 * @date 2024/3/11 15:22
 */
public class test090 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            while (true) {
                String line = scanner.nextLine();  // 读取输入的一行数据
                String[] cntDistance = line.split(" ");  // 将输入的一行数据以空格分隔
                int count = Integer.parseInt(cntDistance[0]);  // 获取车辆数
                int distance = Integer.parseInt(cntDistance[1]);  // 获取到终点的距离

                int[] inputs = new int[count];
                for (int i = 0; i < count; i++) {
                    inputs[i] = Integer.parseInt(scanner.nextLine());  // 读取每辆车的速度
                }

                processTransportTime(count, distance, inputs);  // 调用函数计算最后一辆车到达目的地的时间
            }
        }

        public static void processTransportTime(int count, int distance, int[] inputs) {
            double minTime = 0.0;  // 初始化最小时间为0
            for (int i = 0; i < count; i++) {  // 遍历每辆车的速度
                int speed = inputs[i];  // 获取当前车辆的速度
                double curTime = (double) distance / speed;  // 计算当前车辆到达目的地所需的时间
                if (i == 0) {  // 如果是第一辆车，直接将当前时间设为最小时间
                    minTime = curTime;
                    continue;
                }
                if (curTime < minTime - 1) {  // 如果当前时间比最小时间减1还要小
                    minTime = minTime - 1;  // 将最小时间减1，表示当前车辆需要等待前一辆车
                } else {
                    minTime = curTime;  // 否则，更新最小时间为当前时间
                }
            }
            System.out.println(minTime);
        }
    }

